package com.ma.implatform.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ma.implatform.dto.LoginDTO;
import com.ma.implatform.dto.ModifyPwdDTO;
import com.ma.implatform.dto.RegisterDTO;
import com.ma.implatform.entity.User;
import com.ma.implatform.vo.LoginVO;
import com.ma.implatform.vo.OnlineTerminalVO;
import com.ma.implatform.vo.UserVO;

import java.util.List;

public interface UserService extends IService<User> {
    /**
     * 用户登录
     *
     * @param dto 登录dto
     * @return 登录token
     */
    LoginVO login(LoginDTO dto);

    void register(RegisterDTO dto);

    void modifyPassword(ModifyPwdDTO dto);

    UserVO findUserById(Long id);

    List<OnlineTerminalVO> getOnlineTerminals(String userIds);

    User findUserByUserName(String name);

    /**
     * 根据用户昵称查询用户，最多返回20条数据
     *
     * @param name 用户名或昵称
     * @return 用户列表
     */
    List<UserVO> findUserByName(String name);

    void update(UserVO vo);
    /**
     * 修改用户密码
     *
     * @param dto 修改密码dto
     */
    //void modifyPassword(ModifyPwdDTO dto);
}
